const formatTime = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hour = date.getHours()
  const minute = date.getMinutes()
  const second = date.getSeconds()

  return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

const formatNumber = n => {
  n = n.toString()
  return n[1] ? n : '0' + n
}

module.exports = {
  formatTime: formatTime
}

// var CryptoJS = require('./crpty/crypto-js.js');
// var _KEY = "aa7809d1-935b-6ed2-12f9-01035331eda0"; //32位
// var _KEY = "aa7809d1935b6ed212f901035331eda0"; //32位

// var _IV = ""; //16位    //这个key和偏移量都是后台给的数据

// function encrypt(str) {
//   var key = CryptoJS.enc.Utf8.parse(_KEY);
//   var iv = CryptoJS.enc.Utf8.parse(_IV);
//   var encrypted = '';
//   var srcs = CryptoJS.enc.Utf8.parse(str);
//   encrypted = CryptoJS.AES.encrypt(srcs, key, {
//     iv: iv,
//     mode: CryptoJS.mode.ECB,
//     padding: CryptoJS.pad.Pkcs7
//   })
//   return encrypted.ciphertext.toString();
// }

//字符串解密方法
// function decrypt(str) {
//   var key = CryptoJS.enc.Utf8.parse(_KEY);
//   var iv = CryptoJS.enc.Utf8.parse(_IV);
//   var encryptedHexStr = CryptoJS.enc.Hex.parse(str);
//   var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
//   var decrypt = CryptoJS.AES.decrypt(srcs, key, {
//     iv: iv,
//     mode: CryptoJS.mode.CBC,
//     padding: CryptoJS.pad.Pkcs7
//   })
//   var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
//   return decryptedStr.toString();
// }

var CryptoJS = require('./aes1.js');
var key = CryptoJS.enc.Utf8.parse('axcd12340987rrrr');
// 加密
function encrypt(str) {
  var srcs = CryptoJS.enc.Utf8.parse(str);
  var encrypted = CryptoJS.AES.encrypt(srcs, key, {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
  })
  return encrypted.toString();
}
// 解密
function decrypt(str) {
  var decrypted = CryptoJS.AES.decrypt(str, key, {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
  })
  return decrypted.toString(CryptoJS.enc.Utf8);
}

// 版本号比对方法
function compareVersion(v1, v2) {
  v1 = v1.split('.')
  v2 = v2.split('.')
  const len = Math.max(v1.length, v2.length)

  while (v1.length < len) {
    v1.push('0')
  }
  while (v2.length < len) {
    v2.push('0')
  }

  for (let i = 0; i < len; i++) {
    const num1 = parseInt(v1[i])
    const num2 = parseInt(v2[i])

    if (num1 > num2) {
      return 1
    } else if (num1 < num2) {
      return -1
    }
  }
  return 0
}

module.exports = {
  formatTime,
  decrypt: decrypt,
  encrypt: encrypt,
  compareVersion: compareVersion
}